Telegram Group Search
👨‍💻 Учебный репозиторий по указателям в C:

Минималистичный и очень понятный туториал, охватывающий ключевые аспекты работы с указателями:

- базовая работа с указателями
- арифметика указателей
- работа с массивами через указатели
- передача аргументов по ссылке
- указатели на функции
- двойные указатели

Каждый пример — это отдельный .c -файл с подробными комментариями. Можно компилировать и запускать по порядку, чтобы получить последовательное понимание темы.

Отличный ресурс как для начинающих, так и для практикующих C-программистов.

https://github.com/jflaherty/ptrtut13/tree/master

#cpp #programming

👉 @cpp_lib
📈Плоские контейнеры и C++: как оптимизировать производительность и память

Пытаетесь сделать код быстрее и экономичнее? Время научиться использовать плоские контейнеры в C++! На открытом уроке 15 апреля в 20:00 мск мы разберемся, что такое плоские контейнеры!

Что вас ждет:
- Описание плоских контейнеров в C++: какие они бывают и чем отличаются от стандартных.
- Реальные примеры, когда и почему плоские контейнеры — это ваша идеальная пара для эффективной работы с данными.
- Практическая часть: сравнение с традиционными контейнерами и примеры применения на реальных задачах.

Кому будет полезно:
• Программистам C++, работающим с большими объемами данных.
• Разработчикам высокопроизводительных приложений и игр.
• Инженерам, которым нужно минимизировать использование памяти и повысить эффективность.

👉Регистрируйтесь прямо сейчас и получите скидку на большое обучение «C++ Developer. Professional»: https://vk.cc/cKG7if

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔹 C++26: ошибочное поведение (Erroneous Behaviour)

В C++ мы обычно говорим о двух категориях поведения:
определённое поведение (well-defined)
неопределённое поведение (undefined behaviour, UB)

Второе — одно из самых пугающих понятий в языке. Это когда программа делает что угодно, и компилятор не обязан предупреждать о проблеме. Примеры UB: выход за границы массива, разыменование нулевого указателя и т.д.

Однако в будущем стандарте C++26 вводится новая категория: ошибочное поведение (erroneous behaviour).

Что такое erroneous behaviour?

Это ситуация, когда программа ведёт себя неправильно, но компилятор обязан выдать ошибку или хотя бы предупреждение. Это промежуточный уровень между "всё хорошо" и "всё ужасно и не предсказуемо".

Erroneous behaviour позволяет:
- Сохранить производительность (в отличие от полного исключения или runtime-проверок)
- Сделать поведение программы более предсказуемым
- Упростить диагностику проблем

📌 Пример

Допустим, в constexpr-функции вызывается функция, не являющаяся constexpr. Сейчас это UB, но в C++26 это будет квалифицироваться как erroneous behaviour, и компилятор обязан будет выдать ошибку на этапе компиляции.


constexpr int foo() {
return std::time(nullptr); // std::time не является constexpr
}


Такой код сейчас может пройти компиляцию при определённых условиях, но в будущем — нет.

🧩 Отличие от UB и других видов поведения

- UB — компилятор может делать что угодно (не выдавать ошибку, не предупреждать, и т.д.)
- Implementation-defined — конкретная реализация (компилятор) должна задокументировать поведение
- Erroneous behaviour — компилятор обязан ругаться

🤔 Почему это важно?

Эта категория позволяет более чётко определять границы корректного кода и помогает разработчикам избегать трудноуловимых багов. Это шаг к более строгой и безопасной разработке на C++ без жёстких ограничений на производительность.

https://www.sandordargo.com/blog/2025/02/05/cpp26-erroneous-behaviour

#cpp #programming

👉 @cpp_lib
🚀 Подпишись и прокачай свои скилы: лучшие каналы для IT-специалистов 👨‍💻📲

Папка с каналами для DevOps, Linux - Windows СисАдминов 👍

Папка с каналами для 1С программистов 🧑‍💻

Папка с каналами для C++ программистов 👩‍💻

Папка с каналами для Python программистов 👩‍💻

Папка с каналами для Java программистов 🖥

Папка с книгами для программистов 📚

Папка для программистов (frontend, backend, iOS, Android) 💻


GitHub Сообщество 🧑‍💻
https://www.tg-me.com/Githublib Интересное из GitHub

Базы данных (Data Base) 🖥
https://www.tg-me.com/database_info Все про базы данных


Разработка игр 📱
https://www.tg-me.com/game_devv Все о разработке игр

БигДата, машинное обучение 🖥
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning


QA, тестирование 🖥
https://www.tg-me.com/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов

Защита, взлом, безопасность 💻
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free

Книги, статьи для дизайнеров 🎨
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров

Математика 🧮
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак🙃
https://www.tg-me.com/Excel_lifehack

Технологии 🖥
https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)

Вакансии 💰
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Please open Telegram to view this post
VIEW IN TELEGRAM
Пишем сканер штрихкодов на c++

Штрихкод и с чем его едят на плюсах. Сегодня я покажу вам как я писал простейший сканер штрихкодов EAN-8 и EAN-13. Конечно, я мог бы взять готовые и более функциональные сканеры из интернета, НО зачем? Зачем, если можно сделать самому, если можно развить свои навыки и расширить портфолио? Вот и я так подумал...

Если вы заинтересовались - я сейчас вам раскачаю про код...

https://habr.com/ru/articles/891238/

#cpp #programming

👉 @cpp_lib
Делаем собственный анализатор C++ кода в виде плагина для Clang

Есть много проектов, целью которых является превратить С++ более "безопасный" язык программирования. Но внесение изменений в синтаксис языка обычно нарушает обратную совместимость со старым кодом, который был написан до этого.

Недавно вышла новая версия библиотеки memsafe для языка С++, которая превращает его в Rust с помощью плагина Clang добавляет в С++ безопасное управление динамической памятью и контроль инвалидации ссылочных типов данных во время компиляции приложения.

Но данная статья не о библиотеке, а об особенностях разработки анализатора программы на С++ в виде плагина для Clang.

Можно считать, что это подведение итогов по результатам сравнения нескольких разных способов создания плагина для компилятора С++, а так же очередной Хабрахак для хранения результатов экспериментов и публикации итоговых выводов, которые я решил сохранить не только для себя, но и в виде статьи на Хабре, что бы результатами моего труда могли воспользоваться и другие хорошие люди :-), которым так же может потребоваться погрузиться в дебри парсинга исходного текста программ.

https://habr.com/ru/articles/900224/

#cpp #programming

👉 @cpp_lib
Как создать собственное расширение компилятора C++

Создание пользовательского расширения компилятора C++ подразумевает понимание базовых механизмов работы компиляторов, изменение или расширение их функциональности и бесшовную интеграцию этих изменений в существующую инфраструктуру компилятора. Это руководство проведет вас через весь процесс, от понимания основ до внедрения и тестирования вашего пользовательского расширения. Целевая аудитория этого руководства — разработчики, которые уже знакомы с C++ и имеют базовое понимание концепций компилятора.

https://habr.com/ru/articles/870840/

original https://www.w3computing.com/articles/how-to-create-a-custom-cpp-compiler-extension/

#cpp #programming

👉 @cpp_lib
🌌 Путешествие в мир Авроры: создаём приложения с Qt/QML 🚀

Российская мобильная ОС Аврора — перспективная платформа для разработчиков. Хотите узнать, как создавать для неё нативные приложения с помощью Qt/QML? Разбираем всё на открытом вебинаре!

📅 22 апреля в 20:00
🎓 Открытый вебинар с Ксенией Лагутиной

💡 Что разберём?
Почему ОС Аврора — интересная среда для разработки
Как работает Аврора SDK и чем поможет разработчику
С чего начать разработку нативных приложений
Как создать мини-приложение на QML, которое отправляет уведомления в систему

🎯 Что получите?
✔️ Понимание ключевых особенностей ОС Аврора
✔️ Навыки работы с Аврора SDK и Аврора IDE
✔️ Практический опыт создания приложения на QML

Присоединяйтесь и погружайтесь в разработку под Аврору!

👉 Регистрируйтесь по ссылке: https://vk.cc/cKVg3i

Бесплатное занятие приурочено к старту курса Разработка прикладного ПО на Qt и ОС «Аврора», обучение на котором позволит освоить кросс-платформенный фреймворк Qt.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Media is too big
VIEW IN TELEGRAM
Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake).

00:00 Зависимости и хедера
08:22 Build.sh
11:48 Makefiles и декларативная модель
19:51 Ленивые и переменные
30:52 Автоматические переменные
36:15 Первая версия makefile
41:33 Функции и wildcards
47:40 Вторая версия makefile и зависимости от хедеров
56:36 Третья итерация: почти идеальный makefile
01:06:26 Знакомство с cmake
01:19:35 Бонус. Немного больше про cmake.
01:30:40 Окончательные уроки.

источник

#cpp #programming

👉 @cpp_lib
📕Открытый урок об управлении микроклиматом с помощью микроконтроллеров для радиолюбителей, разработчиков встраемого ПО, инженеров, разработчиков электроники и инженеров-схемотехников.

На открытом уроке 21 апреля в 20:00 мск мы погрузимся в тонкости подключения и программировании системы управления микроклиматом с помощью микроконтроллеров.

📗В результате вы:
- Узнаете, как подключить к микроконтроллеру и запрограммировать датчики температуры, влажности и исполнительное устройство;
- Разберетесь, как сделать прототип системы, которая управляет микроклиматом сама;
- Освоите на практике техники управления макетом по WiFi с мобильного телефона или компьютера с помощью создания простого web-сайта.

Спикер Игорь Морозов — эксперт в сфере Embedded Development, 15+ лет в разработке и управлении IT-проектами, технический директор стартапа по созданию робототехнических устройств с элементами машинного зрения.

👉Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cKX0zr

📙Все участники открытого урока получат скидку на курс "Embedded Developer"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Линус Торвальдс: Критика C++ — Комплексный анализ

Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.

В чем причина неприятия C++? Давайте рассмотрим аргументы, которые Линус приводит против его использования.

C и C++ очень похожи друг на друга, но все‑таки это не одно и то же. C++ является объектно‑ориентированной версией C. Некоторые даже называют его преемником C. Однако C++ представляет из себя скорее расширение языка C, нежели его полноценную замену. Он добавляет такие функции, как объекты, конструкторы, деструкторы, шаблоны, обработка исключений, пространства имен и перегрузка операторов. Эти расширения приносят с собой свои собственные парадигмы и проблемы. Неудивительно, что все технические аргументы Линуса против C++ связаны именно с этими расширениями.

https://habr.com/ru/companies/otus/articles/902724/

original https://medium.com/@jankammerath/linus-torvalds-critique-of-c-a-comprehensive-review-ea8374084abf

#cpp #programming

👉 @cpp_lib
🚀 CUTE_HEADERS - Коллекция кроссплатформенных однофайловых библиотек на C/C++ без зависимостей, в основном используемых для разработки игр.

🔹 Математика (векторы, матрицы)
🔹 Системы частиц
🔹 Аудио и таймеры
🔹 Работа с файлами
🔹 Простая физика и коллизии
🔹 Анимация и графика
🔹 И многое другое!

Все библиотеки — в одном .h файле, без зависимостей. Отлично подходят для маленьких проектов, прототипов и учебных задач.

https://github.com/RandyGaul/cute_headers

#cpp #programming

👉 @cpp_lib
⚙️Уже работаете с Rust, но хотите эффективно интегрировать его с другими языками? Или интересуетесь, как устроен процесс сборки и линковки в этом языке?

🗓На открытом вебинаре 24 апреля в 20:00 мск мы подробно разберем, как собирать и линковать библиотеки в Rust, как использовать Rust-библиотеки в других языках, а также реализуем Си ABI (Application Binary Interface). Вы получите знания, которые помогут вам повысить производительность ваших проектов и интегрировать Rust в существующие решения.

👨‍💻Урок будет полезен всем, кто хочет углубить свои знания в Rust, повысить квалификацию и навыки работы с библиотеками и системами. Вы сможете применять полученные знания в реальных проектах.

👉Присоединяйтесь к открытому вебинару и получите скидку на большое обучение «Rust Developer. Professional»: https://vk.cc/cL2YJr

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Три теоремы о сортировках

Я знаю многих программистов и руководителей в IT компаниях, которые недолюбливают математиков и в частности считают их далёкими от жизни идиотами из-за их утверждений в духе "нельзя отсортировать последовательность быстрее, чем за nlogn" -- ведь это очевидным образом неверно, есть же сортировка подсчетом и radix sort. Нюанс в том, что описанное выше -- это распространённая некорректная трактовка одной из ключевых теорем об алгоритмах сортировок, корректное утверждение выглядит так: "не существует алгоритма, который бы гарантированно находил перестановку n элементов, приводящую к возрастающему порядку, быстрее чем за nlogn используя только операции попарного сравнения". В этом утверждении больше слов, оно более сложно в плане когнитивного восприятия, ключевой момент обозначил жирным шрифтом, чувствуете разницу?

https://habr.com/ru/articles/893452/

#cpp #programming

👉 @cpp_lib
🔥 Готовы прокачать свои навыки на C++ до уровня эксперта? Освойте разработку на Qt и создавайте приложения для ОС «Аврора», используя лучшие практики и мощные инструменты! 🚀

Курс "Разработка прикладного ПО на Qt и ОС «Аврора»" — возможность для разработчиков на C++, которые хотят:

- изучить работу с кросс-платформенным фреймворком Qt.
- создавать высококачественные графические интерфейсы.
- развиваться в нише ОС «Аврора», которая только набирает популярность.

💥 до 27 апреля не упустите шанс получить скидку 15%! Только для вас скидка 10% + промокод QT_Avrora5 на дополнительные 5%!

Пройдите вступительное тестирование и успейте вступить в группу курса!

👉Пройти тест: https://vk.cc/cL4RhV

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🚀 Подборка Telegram каналов для программистов

Системное администрирование, DevOps 📌

https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux

1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
https://www.tg-me.com/razrab_1C 1C Разработчик
https://www.tg-me.com/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С

Программирование C++📌
https://www.tg-me.com/Библиотека C C разработчика/com.cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия.
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python

Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр

Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов

БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Big Data, Machine Learning

Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.

QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free

Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров

Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
https://www.tg-me.com/matgeoru Математика | Геометрия | Логика

Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack

https://www.tg-me.com/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Техники сортировки в C++

Сортировка — это процесс упорядочивания элементов массива или списка в определённом порядке (например, по возрастанию или убыванию).

В C++ реализовано множество алгоритмов сортировки, включая:
- Сортировку пузырьком (Bubble Sort)
- Сортировку вставками (Insertion Sort)
- Сортировку выбором (Selection Sort)
- Быструю сортировку (Quick Sort)
- Сортировку слиянием (Merge Sort)
- Сортировку кучей (Heap Sort)
- ПорRadix Sort
- Bucket Sort

Каждый метод сортировки имеет свою эффективность по времени выполнения и памяти:
- Простые алгоритмы вроде пузырьковой сортировки подходят для небольших массивов.
- Быстрая сортировка и сортировка слиянием лучше работают с большими объёмами данных.
- Выбор конкретного метода зависит от характеристик задачи: объём данных, требования к памяти, допустимость нестабильной сортировки и т.д.

Также в C++ стандартная библиотека предоставляет функцию std::sort(), которая реализует быструю сортировку с улучшениями.

https://www.softwaretestinghelp.com/sorting-techniques-in-cpp/

#cpp #programming

👉 @cpp_lib
Media is too big
VIEW IN TELEGRAM
Vibe Coding C++ — Йенс Веллер — Meeting C++ online

Я занимался "vibe coding" на C++, чтобы почувствовать, на что сейчас способны Grok, ChatGPT и Claude*. Простая задача с несколькими нетривиальными случаями — это и стало испытанием.

Я задумался, можно ли создать ассистента для программирования на базе ИИ, и решил, что будет отличной идеей провести небольшое "собеседование" с этими агентами, чтобы проверить, справятся ли они с этой задачей.

источник

#cpp #programming

👉 @cpp_lib
Media is too big
VIEW IN TELEGRAM
Сборка C++ проектов. Raylib. Дополнительные темы CMAKE. Game Engine серии

0:00:00 - Введение
0:00:51 - Raylib, SDL, SFML
0:03:20 - Подключаем, тестируем raylib
0:14:22 - Вложенные CMakeLists
0:33:15 - Макросы в CMake
0:36:35 - Raylib + ChuckNorrisJokes
0:45:49 - Собираем все проекты

источник

#cpp #programming

👉 @cpp_lib
2025/06/16 02:46:34
Back to Top
HTML Embed Code: